#ifndef GX_FINAL_RENDERING_ENGINE_CONTEX_H
#define GX_FINAL_RENDERING_ENGINE_CONTEX_H

#include "LibGL/GxMath3D.h"
#include "Basic/GxLibBasic.h"
#include "APIMacros.h"

GX_API
class IEngineContext
{
public:
	virtual bool LoadScene(const String & fileName) = 0;
	virtual bool Step(float dTime) = 0;
	virtual bool DrawScene() = 0;
	virtual void SetCamera(const vec3 & pos, const vec3 & dir, const vec3 & up) = 0;
};

GX_API IEngineContext * CreateEngineContext();
GX_API void DestroyEngineContext(IEngineContext * context);

#endif